package version2024.medium;

import java.util.Locale;
import java.util.Scanner;

/**
 * @author sunhl
 * @Description: HJ71 字符串通配符
 * @Date: created in 2025/1/7 星期二 11:38
 * @Modified By:
 */
public class HJ71_StringWildcard {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String value = in.next();
            String target = in.next();
            // 将输入的正则改为小写
            value = value.toLowerCase(Locale.ROOT);
            // 将输入的字符串改为小写
            target = target.toLowerCase(Locale.ROOT);

            // 替换正则中两个以上的* 为 一个*
            String regx = value.replaceAll("\\*{2,}", "\\*");
            // ?替换为一个数字或字母的正则
            regx = regx.replaceAll("\\?", "[0-9a-z]{1}");
            // *替换为n个数字或字母的正则
            regx = regx.replaceAll("\\*", "[0-9a-z]{0,}");
            // 匹配
            System.out.println(target.matches(regx));
        }
    }
}
